#include "PreCompile.hpp"
#include "CLang.hpp"
#include "CLangModule.hpp"

namespace BuildNG
{
  static bool clang_initialized = false;

  void init_clang()
  {
    assert(!clang_initialized);

    assert(BuildNG::is_libbuildng_initialized());

    PlainCModule::init();
    CppModule::init();

    clang_initialized = true;
  }
  
  void shutdown_clang()
  {
    if(!clang_initialized)
      return;
    clang_initialized = false;

    PlainCModule::shutdown();
    CppModule::shutdown();
  }
  
  bool is_clang_initialized()
  {
    return clang_initialized;
  }
}

